home *** CD-ROM | disk | FTP | other *** search
Wrap
/* -- ANSI C code generated by : -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82) -- -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE -- -- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr -- -- http://www.loria.fr/SmallEiffel -- */ #include "compile_to_c.h" void r31make(T31* C,T0* a1,T0* a2){ T0* _an2=NULL; int _rank=0; int _i=0; T0* _tla2=NULL; T0* _tla=NULL; T0* _tlf=NULL; T0* _an=NULL; r31standard_make(C,a1,a2); _i=(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*/; while (!((_i)==(0))) { _an=r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_i); _tlf=(((T873*)((T873*)_an)))->_result_type/*24*/; if(NULL!=(_tlf))switch(((T0*)_tlf)->id) { case 648: break; default: _tlf=NULL; };/*IF*/if ((_tlf)!=((void*)(NULL))) { _rank=r31rank_of(C,X776to_string((((T648*)((T648*)_tlf)))->_like_what/*12*/)); /*IF*/if ((_rank)==(_i)) { r683add_position((((T648*)((T648*)_tlf)))->_start_position/*4*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms64_470); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else if ((_rank)>(0)) { {T886*n=malloc(sizeof(*n)); *n=M886; r886refer_to(n,X776start_position((((T648*)((T648*)_tlf)))->_like_what/*12*/),(T0*)C,_rank); _an2=(T0*)n; } {T239*n=malloc(sizeof(*n)); *n=M239; r239make(n,(((T648*)((T648*)_tlf)))->_start_position/*4*/,_an2); _tla=(T0*)n; } /*[IRF3.3set_result_type*/((((T873*)(((T873*)_an))))->_result_type)=(_tla); /*]*/ } /*FI*/} /*FI*/_i=(_i)-(1); } /*IF*/if (r590all_check(((T590*)(oBC364run_control)))) { _i=(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*/; while (!((_i)==(0))) { _tla=(((T873*)((T873*)(r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_i)))))->_result_type/*24*/; if(NULL!=(_tla))switch(((T0*)_tla)->id) { case 239: break; default: _tla=NULL; };/*IF*/if ((_tla)!=((void*)(NULL))) { _rank=r31rank_of(C,(((T886*)((T886*)((((T239*)((T239*)_tla)))->_like_what/*12*/))))->_to_string/*12*/); _tla2=(((T873*)((T873*)(r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_rank)))))->_result_type/*24*/; if(NULL!=(_tla2))switch(((T0*)_tla2)->id) { case 239: break; default: _tla2=NULL; };/*IF*/if ((_tla2)!=((void*)(NULL))) { r683add_position((((T239*)((T239*)_tla)))->_start_position/*4*/); r683add_position((((T239*)((T239*)_tla2)))->_start_position/*4*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms64_470); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/} /*FI*/_i=(_i)-(1); } } /*FI*/} /*No:FORMAL_ARG_LIST.name*/ /*No:FORMAL_ARG_LIST.nb_errors*/ T0* r31type(T31* C,int a1){ T0* R=NULL; R=(((T873*)((T873*)(/*(IRF4.6name*/r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),a1)/*)*/))))->_result_type/*24*/; return R; } void r31standard_make(T31* C,T0* a1,T0* a2){ int _actual_count=0; int _il=0; C->_start_position=a1; C->_list=a2; _il=1; while (!((_il)>((((T382*)((T382*)((((T31*)C))->_list/*8*/))))->_upper/*8*/))) { _actual_count=(_actual_count)+(X411count(r382item(((T382*)((((T31*)C))->_list/*8*/)),_il))); _il=(_il)+(1); } {T65*n=malloc(sizeof(*n)); *n=M65; r65make(n,1,_actual_count); C->_flat_list=(T0*)n; } _il=1; while (!((_il)>((((T382*)((T382*)((((T31*)C))->_list/*8*/))))->_upper/*8*/))) { X411append_in(r382item(((T382*)((((T31*)C))->_list/*8*/)),_il),(T0*)C); _il=(_il)+(1); } } /*No:FORMAL_ARG_LIST.start_position*/ void r31compile_to_c_in(T31* C,T0* a1){ T0* _t=NULL; int _i=0; _i=1; while (!((_i)>(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*//*)*/))) { _t=X291run_type(r31type(C,_i)); X291c_type_for_argument_in(_t,a1); r7extend(((T7*)a1),'\40'); r7extend(((T7*)a1),'a'); r2append_in(_i,a1); _i=(_i)+(1); /*IF*/if ((_i)<=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*//*)*/)) { r7extend(((T7*)a1),'\54'); } /*FI*/} } void r31inline_one_pc(T31* C){ T0* _t=NULL; int _i=0; _i=1; while (!((_i)>(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*//*)*/))) { _t=X291run_type(r31type(C,_i)); /*[IRF3.3clear*/((((T7*)(((T7*)(oBC31tmp_string)))))->_count)=(0); /*]*/ X291c_type_for_argument_in(_t,oBC31tmp_string); r7extend(((T7*)(oBC31tmp_string)),'\40'); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC31tmp_string); /*]*/ r324inline_level_incr(((T324*)(oBC364cpp))); r324print_argument(((T324*)(oBC364cpp)),_i); r324inline_level_decr(((T324*)(oBC364cpp))); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\75'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r324put_ith_argument(((T324*)(oBC364cpp)),_i); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms134_470)); /*]*/ _i=(_i)+(1); } } /*No:FORMAL_ARG_LIST.fz_00*/ T0* r31to_runnable(T31* C,T0* a1){ T0* R=NULL; T0* _n2=NULL; T0* _n1=NULL; int _i=0; /*IF*/if (((((T31*)C))->_current_type/*16*/)==((void*)(NULL))) { C->_current_type=a1; R=(T0*)C; _i=(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*/; while (!(((_i)==(0))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) { _n1=r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_i); _n2=r873to_runnable(((T873*)_n1),a1); /*IF*/if ((_n2)==((void*)(NULL))) { r31error((((T873*)((T873*)_n1)))->_start_position/*16*/,((T0*)ms3_535)); } else if ((_n1)!=((void*)(_n2))) { /*[IRF3.6put*/{T65* C1=((T65*)((((T31*)C))->_flat_list/*12*/)); T0* b1=_n2; int b2=_i; ((((T65*)C1))->_storage/*4*/)[(b2)-((((T65*)C1))->_lower/*16*/)]=(b1); }/*]*/ } /*FI*/r873name_clash(((T873*)_n2)); _i=(_i)-(1); } } else { {T31*n=malloc(sizeof(*n)); *n=M31; r31runnable_from_current(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } /*No:FORMAL_ARG_LIST.em1*/ /*No:FORMAL_ARG_LIST.list*/ T0*oBC31tmp_string=NULL; int r31rank_of(T31* C,T0* a1){ int R=0; R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*//*)*/; while (!(((R)==(0))||((a1)==((void*)((((T873*)((T873*)(/*(IRF4.6name*/r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),R)/*)*/))))->_to_string/*12*/))))) { R=(R)-(1); } return R; } void r31external_prototype(T31* C,T0* a1){ T0* _t=NULL; int _i=0; _i=1; while (!((_i)>(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*//*)*/))) { _t=X291run_type(r31type(C,_i)); X291c_type_for_external_in(_t,a1); r7extend(((T7*)a1),'\40'); r7extend(((T7*)a1),'a'); r2append_in(_i,a1); _i=(_i)+(1); /*IF*/if ((_i)<=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*//*)*/)) { r7extend(((T7*)a1),'\54'); } /*FI*/} } /*No:FORMAL_ARG_LIST.current_type*/ int r31is_a_in(T31* C,T0* a1,T0* a2){ int R=0; T0* _t2=NULL; T0* _t1=NULL; int _i=0; /*IF*/if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)a1)))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*//*)*/)) { r683add_position((((T31*)((T31*)a1)))->_start_position/*4*/); r31error((((T31*)C))->_start_position/*4*/,((T0*)ms8_31)); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=1; _i=1; while (!((!(R))||((_i)>((((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*/)))) { _t1=r31type(C,_i); _t2=r31type(((T31*)a1),_i); /*IF*/if (!(X291is_a_in(_t1,_t2,a2))) { R=0; r683print_as_error(((T683*)(oBC364eh))); r683add_position(X291start_position(_t1)); r683add_position(X291start_position(_t2)); /*[IRF3.6append*/{T0* b1=((T0*)ms9_31); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/_i=(_i)+(1); } } /*FI*/return R; } /*No:FORMAL_ARG_LIST.fz_cad*/ /*No:FORMAL_ARG_LIST.fz_dot*/ void r31runnable_from_current(T31* C,T0* a1,T0* a2){ T0* _n2=NULL; T0* _n1=NULL; int _i=0; C->_start_position=(((T31*)((T31*)a1)))->_start_position/*4*/; C->_list=(((T31*)((T31*)a1)))->_list/*8*/; C->_current_type=a2; C->_flat_list=r65twin(((T65*)((((T31*)((T31*)a1)))->_flat_list/*12*/))); _i=(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*/; while (!((_i)==(0))) { _n1=r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_i); _n2=r873to_runnable(((T873*)_n1),a2); /*IF*/if ((_n2)==((void*)(NULL))) { r31error((((T873*)((T873*)_n1)))->_start_position/*16*/,((T0*)ms3_535)); } /*FI*//*[IRF3.6put*/{T65* C1=((T65*)((((T31*)C))->_flat_list/*12*/)); T0* b1=_n2; int b2=_i; ((((T65*)C1))->_storage/*4*/)[(b2)-((((T65*)C1))->_lower/*16*/)]=(b1); }/*]*/ _i=(_i)-(1); } } void r31add_last(T31* C,T0* a1){ T0* _n2=NULL; int _i=0; _i=1; while (!((r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_i))==((void*)(NULL)))) { _n2=r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_i); /*IF*/if (((((T873*)((T873*)_n2)))->_to_string/*12*/)==((void*)((((T873*)((T873*)a1)))->_to_string/*12*/))) { r683add_position((((T873*)((T873*)a1)))->_start_position/*16*/); r683add_position((((T873*)((T873*)_n2)))->_start_position/*16*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_535); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/_i=(_i)+(1); } /*[IRF3.6put*/{T65* C1=((T65*)((((T31*)C))->_flat_list/*12*/)); T0* b1=a1; int b2=_i; ((((T65*)C1))->_storage/*4*/)[(b2)-((((T65*)C1))->_lower/*16*/)]=(b1); }/*]*/ /*[IRF3.3set_rank*/((((T873*)(((T873*)a1))))->_rank)=(_i); /*]*/ } void r31error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:FORMAL_ARG_LIST.count*/ /*No:FORMAL_ARG_LIST.fatal_error*/ /*No:FORMAL_ARG_LIST.flat_list*/ int r33gives_permission_to_any(T33* C){ int R=0; int _i=0; _i=(((T901*)((T901*)((((T33*)C))->_list/*0*/))))->_upper/*8*/; while (!((R)||((_i)==(0)))) { R=((((T451*)((T451*)(r901item(((T901*)((((T33*)C))->_list/*0*/)),_i)))))->_to_string/*0*/)==((void*)(((T0*)ms1_473))); _i=(_i)-(1); } return R; } void r33merge(T33* C,T0* a1,T0* a2){ T0* _a=NULL; T0* _cn=NULL; int _i=0; C->_list=r901twin(((T901*)((((T33*)((T33*)a1)))->_list/*0*/))); _a=(((T33*)((T33*)a2)))->_list/*0*/; _i=(((T901*)((T901*)_a)))->_upper/*8*/; while (!((_i)==(0))) { _cn=r901item(((T901*)_a),_i); /*IF*/if (!(r33gives_permission_to(C,_cn))) { r901add_last(((T901*)((((T33*)C))->_list/*0*/)),_cn); } /*FI*/_i=(_i)-(1); } } void r33make(T33* C,T0* a1){ int _i2=0; int _i=0; C->_list=a1; _i=(((T901*)((T901*)((((T33*)C))->_list/*0*/))))->_upper/*8*/; while (!((_i)==(0))) { _i2=r33index_of(C,r901item(((T901*)((((T33*)C))->_list/*0*/)),_i)); /*IF*/if ((_i2)!=(_i)) { r683add_position((((T451*)((T451*)(r901item(((T901*)((((T33*)C))->_list/*0*/)),_i2)))))->_start_position/*4*/); r33warning((((T451*)((T451*)(r901item(((T901*)((((T33*)C))->_list/*0*/)),_i)))))->_start_position/*4*/,((T0*)ms1_33)); } /*FI*/_i=(_i)-(1); } } int r33gives_permission_to(T33* C,T0* a1){ int R=0; int _i=0; /*IF*/if ((r33index_of(C,a1))>(0)) { R=1; } else { _i=(((T901*)((T901*)((((T33*)C))->_list/*0*/))))->_upper/*8*/; while (!((R)||((_i)==(0)))) { R=r451is_subclass_of(((T451*)a1),r901item(((T901*)((((T33*)C))->_list/*0*/)),_i)); _i=(_i)-(1); } } /*FI*/return R; } /*No:CLASS_NAME_LIST.list*/ int r33index_of(T33* C,T0* a1){ int R=0; T0* _to_string=NULL; _to_string=(((T451*)((T451*)a1)))->_to_string/*0*/; R=(((T901*)((T901*)((((T33*)C))->_list/*0*/))))->_upper/*8*/; while (!(((R)==(0))||((_to_string)==((void*)((((T451*)((T451*)(r901item(((T901*)((((T33*)C))->_list/*0*/)),R)))))->_to_string/*0*/))))) { R=(R)-(1); } return R; } /*No:CLASS_NAME_LIST.us_any*/ void r33warning(T0* a1,T0* a2){ r683add_position(a1); r683warning(((T683*)(oBC364eh)),a2); } int r963id(T963* C){ int R=0; R=(((T355*)((T355*)(r963run_class(C)))))->_id/*4*/; return R; } /*No:TYPE_BIT_REF.gc_set_unmarked_in*/ /*No:TYPE_BIT_REF.has_creation*/ /*No:TYPE_BIT_REF.is_anchored*/ /*No:TYPE_BIT_REF.is_array*/ /*No:TYPE_BIT_REF.fz_typedef*/ /*No:TYPE_BIT_REF.fz_else*/ int r963is_a(T963* C,T0* a1){ int R=0; /*IF*/if (((((T963*)C))->_run_time_mark/*12*/)==((void*)(X291run_time_mark(a1)))) { R=1; } else { R=r605is_subclass_of(((T605*)(r963base_class(C))),X291base_class(a1)); /*IF*/if (!(R)) { r683add_type((T0*)C,((T0*)ms71_470)); r683add_type(a1,((T0*)ms67_470)); } /*FI*/} /*FI*/return R; } void r963gcmt_max_in(T963* C,T0* a1){ r7append(((T7*)a1),((T0*)ms55_291)); r2append_in(r963id(C),a1); } /*No:TYPE_BIT_REF.fz_to_t*/ /*No:TYPE_BIT_REF.c_initialize_in*/ /*No:TYPE_BIT_REF.fz_gc_sweep*/ /*No:TYPE_BIT_REF.c_type_for_argument_in*/ void r963gc_call_new_in(T963* C,T0* a1){ r7append(((T7*)a1),((T0*)ms115_470)); r2append_in(r963id(C),a1); r7extend(((T7*)a1),'\50'); r7extend(((T7*)a1),'\51'); } int r963space_for_pointer(void){ int R=0; void* _p=0; R=sizeof(T8); return R; } /*No:TYPE_BIT_REF.is_pointer*/ /*No:TYPE_BIT_REF.run_type*/ void r963gc_align_mark_in(T963* C,T0* a1){ r7append(((T7*)a1),((T0*)ms58_291)); r2append_in(r963id(C),a1); } /*No:TYPE_BIT_REF.is_dummy_expanded*/ void r963gcmt_used_in(T963* C,T0* a1){ r7append(((T7*)a1),((T0*)ms56_291)); r2append_in(r963id(C),a1); } /*No:TYPE_BIT_REF.is_string*/ /*No:TYPE_BIT_REF.space_for_variable*/ /*No:TYPE_BIT_REF.is_like_feature*/ /*No:TYPE_BIT_REF.fz_t0_star*/ /*No:TYPE_BIT_REF.is_like_current*/ void r963make(T963* C,T0* a1){ C->_type_bit=a1; C->_run_time_mark=((T0*)ms1_963); r2append_in(X609nb((((T963*)C))->_type_bit/*4*/),(((T963*)C))->_run_time_mark/*12*/); r7append(((T7*)((((T963*)C))->_run_time_mark/*12*/)),((T0*)ms2_963)); C->_run_time_mark=r902item((((T963*)C))->_run_time_mark/*12*/); C->_written_mark=(((T963*)C))->_run_time_mark/*12*/; } /*No:TYPE_BIT_REF.fz_gc*/ T0* r963type_any(void){ if (fBC364type_any==0){ T0* R=NULL; fBC364type_any=1; {T669*n=malloc(sizeof(*n)); *n=M669; r669make(n,NULL); R=(T0*)n; } oBC364type_any=R;} return oBC364type_any;} /*No:TYPE_BIT_REF.gc_if_marked_in*/ /*No:TYPE_BIT_REF.fz_gc_sweep_pool*/ /*No:TYPE_BIT_REF.start_position*/ void r963mapping_cast(T963* C){ /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0); /*]*/ r7extend(((T7*)(oBC291tmp_string)),'\50'); r963c_type_for_target_in(C,oBC291tmp_string); r7extend(((T7*)(oBC291tmp_string)),'\51'); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string); /*]*/ } void r963c_type_for_target_in(T963* C,T0* a1){ r7extend(((T7*)a1),'T'); r2append_in(r963id(C),a1); r7extend(((T7*)a1),'\52'); } /*No:TYPE_BIT_REF.fz_printf*/ void r963gc_free_in(T963* C,T0* a1){ r7append(((T7*)a1),((T0*)ms57_291)); r2append_in(r963id(C),a1); } /*No:TYPE_BIT_REF.gc_set_marked_in*/ /*No:TYPE_BIT_REF.fz_gc_mark*/ /*No:TYPE_BIT_REF.fz_inako*/ void r963standard_gc_initialize(T963* C){ /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0); /*]*/ r963gcmt_in(C,oBC291tmp_string); r7append(((T7*)(oBC291tmp_string)),((T0*)ms53_291)); r963gcmt_max_in(C,oBC291tmp_string); r7append(((T7*)(oBC291tmp_string)),((T0*)ms150_470)); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string); /*]*/ } /*No:TYPE_BIT_REF.gc_initialize*/ /*No:TYPE_BIT_REF.fz_00*/ /*No:TYPE_BIT_REF.is_character*/ /*No:TYPE_BIT_REF.is_user_expanded*/ /*No:TYPE_BIT_REF.written_mark*/ /*No:TYPE_BIT_REF.is_run_type*/ /*No:TYPE_BIT_REF.to_runnable*/ /*No:TYPE_BIT_REF.fz_c_if_eq_null*/ /*No:TYPE_BIT_REF.fz_10*/ void r963c_type_for_external_in(T0* a1){ /*IF*/{/*AT*/r7append(((T7*)a1),((T0*)ms133_470)); r7extend(((T7*)a1),'\52'); } /*FI*/} T0* r963generic_list(T963* C){ T0* R=NULL; r963fatal_error_generic_list(C); return R; } /*No:TYPE_BIT_REF.is_formal_generic*/ /*No:TYPE_BIT_REF.fz_null*/ void r963demangling_in(T963* C,T0* a1){ /*IF*/{/*AT*/r7extend(((T7*)a1),'R'); } /*FI*/r7extend(((T7*)a1),'\40'); r7append(((T7*)a1),(((T963*)C))->_run_time_mark/*12*/); } /*No:TYPE_BIT_REF.is_real*/ void r963gc_info_nb_in(T963* C,T0* a1){ r7append(((T7*)a1),((T0*)ms59_291)); r2append_in(r963id(C),a1); } /*No:TYPE_BIT_REF.fz_14*/ /*No:TYPE_BIT_REF.is_bit*/ void r963fatal_error_generic_list(T963* C){ r683add_type((T0*)C,((T0*)ms12_291)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*No:TYPE_BIT_REF.fz_new*/ /*No:TYPE_BIT_REF.fz_c_void_args*/ T0* r963smallest_ancestor(T963* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T963*)C))->_run_time_mark/*12*/)==((void*)(X291run_time_mark(a1)))) { R=(T0*)C; } else { R=r963type_any(); } /*FI*/return R; } /*No:TYPE_BIT_REF.fz_16*/ void r963standard_gc_info_in(T963* C,T0* a1){ r7append(((T7*)a1),((T0*)ms119_470)); r7extend(((T7*)a1),'\50'); r7extend(((T7*)a1),'\42'); r7append(((T7*)a1),(((T963*)C))->_run_time_mark/*12*/); r7append(((T7*)a1),((T0*)ms144_470)); r963gc_info_nb_in(C,a1); r7append(((T7*)a1),((T0*)ms148_470)); r7append(((T7*)a1),((T0*)ms119_470)); r7extend(((T7*)a1),'\50'); r7extend(((T7*)a1),'\42'); r963gcmt_used_in(C,a1); r7append(((T7*)a1),((T0*)ms144_470)); r963gcmt_used_in(C,a1); r7append(((T7*)a1),((T0*)ms148_470)); r7append(((T7*)a1),((T0*)ms119_470)); r7extend(((T7*)a1),'\50'); r7extend(((T7*)a1),'\42'); r963gcmt_max_in(C,a1); r7append(((T7*)a1),((T0*)ms144_470)); r963gcmt_max_in(C,a1); r7append(((T7*)a1),((T0*)ms148_470)); } /*No:TYPE_BIT_REF.is_boolean*/ void r963standard_c_typedef(T963* C){ int _mem_id=0; _mem_id=r963id(C); /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0); /*]*/ /*IF*/{/*AT*/r7append(((T7*)(oBC291tmp_string)),((T0*)ms131_470)); r7append(((T7*)(oBC291tmp_string)),((T0*)ms125_470)); r7extend(((T7*)(oBC291tmp_string)),'S'); r2append_in(_mem_id,oBC291tmp_string); r7extend(((T7*)(oBC291tmp_string)),'\40'); r7extend(((T7*)(oBC291tmp_string)),'T'); r2append_in(_mem_id,oBC291tmp_string); r7append(((T7*)(oBC291tmp_string)),((T0*)ms134_470)); } /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string); /*]*/ } /*No:TYPE_BIT_REF.is_double*/ T0* r963run_class(T963* C){ T0* R=NULL; R=r604run_class(/*(IRF4.4run_type*/((T0*)(C))/*)*/); return R; } void r963gcmt_in(T963* C,T0* a1){ r7append(((T7*)a1),((T0*)ms54_291)); r2append_in(r963id(C),a1); } /*No:TYPE_BIT_REF.c_initialize*/ /*No:TYPE_BIT_REF.run_time_mark*/ void r963cast_to_ref(T963* C){ r963cast_to_ref(((T963*)(/*(IRF4.4run_type*/((T0*)(C))/*)*/))); } void r963gc_mark_in(T963* C,T0* a1){ r7append(((T7*)a1),((T0*)ms107_470)); r2append_in(r963id(C),a1); } int r963is_a_in(T963* C,T0* a1,T0* a2){ int R=0; T0* _ct=NULL; T0* _t2=NULL; T0* _t1=NULL; /*IF*/if (((((T963*)C))->_written_mark/*8*/)==((void*)(X291written_mark(a1)))) { R=1; } else { _ct=(((T355*)((T355*)a2)))->_current_type/*0*/; _t1=/*(IRF4.4to_runnable*/((T0*)(C))/*)*/; _t2=X291to_runnable(a1,_ct); /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) { R=1; } else { R=X291is_a(_t1,_t2); } /*FI*/} /*FI*/return R; } T0* r963look_up_for(T963* C,T0* a1,T0* a2){ T0* R=NULL; R=r605look_up_for(((T605*)(r963base_class(C))),a1,a2); return R; } void r963c_header_pass1(T963* C){ r963standard_c_typedef(C); r7copy(((T7*)(oBC291tmp_string)),((T0*)ms125_470)); r7extend(((T7*)(oBC291tmp_string)),'S'); r2append_in(r963id(C),oBC291tmp_string); r7append(((T7*)(oBC291tmp_string)),((T0*)ms3_963)); r2append_in(X609id((((T963*)C))->_type_bit/*4*/),oBC291tmp_string); r7append(((T7*)(oBC291tmp_string)),((T0*)ms4_963)); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string); /*]*/ r7copy(((T7*)(oBC291tmp_string)),((T0*)ms5_963)); r2append_in(r963id(C),oBC291tmp_string); r7extend(((T7*)(oBC291tmp_string)),'\50'); r7extend(((T7*)(oBC291tmp_string)),'T'); r2append_in(X609id((((T963*)C))->_type_bit/*4*/),oBC291tmp_string); r7append(((T7*)(oBC291tmp_string)),((T0*)ms6_963)); r324put_c_heading(((T324*)(oBC364cpp)),oBC291tmp_string); /*[IRF3.3swap_on_c*/((((T324*)(((T324*)(oBC364cpp)))))->_current_out)=(oBC324out_c); /*]*/ /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0); /*]*/ r7extend(((T7*)(oBC291tmp_string)),'T'); r2append_in(r963id(C),oBC291tmp_string); r7append(((T7*)(oBC291tmp_string)),((T0*)ms7_963)); r2append_in(r963id(C),oBC291tmp_string); r7append(((T7*)(oBC291tmp_string)),((T0*)ms8_963)); r2append_in(r963id(C),oBC291tmp_string); r7append(((T7*)(oBC291tmp_string)),((T0*)ms9_963)); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string); /*]*/ r324swap_on_h(((T324*)(oBC364cpp))); } /*No:TYPE_BIT_REF.c_type_for_result_in*/ /*No:TYPE_BIT_REF.expanded_initializer*/ /*No:TYPE_BIT_REF.fz_int*/ void r963gc_declare_h_in(T963* C,T0* a1){ r7append(((T7*)a1),((T0*)ms105_470)); r2append_in(r963id(C),a1); r7append(((T7*)a1),((T0*)ms60_291)); r2append_in(r963id(C),a1); r7append(((T7*)a1),((T0*)ms61_291)); } void r963standard_gc_define1(T963* C){ int _rcid=0; T0* _rc=NULL; _rc=r963run_class(C); _rcid=(((T355*)((T355*)_rc)))->_id/*4*/; r7copy(((T7*)(oBC291tmp_string)),((T0*)ms131_470)); r7append(((T7*)(oBC291tmp_string)),((T0*)ms125_470)); r7extend(((T7*)(oBC291tmp_string)),'B'); r2append_in(_rcid,oBC291tmp_string); r7extend(((T7*)(oBC291tmp_string)),'\40'); r7append(((T7*)(oBC291tmp_string)),((T0*)ms105_470)); r2append_in(_rcid,oBC291tmp_string); r7append(((T7*)(oBC291tmp_string)),((T0*)ms134_470)); r7append(((T7*)(oBC291tmp_string)),((T0*)ms125_470)); r7extend(((T7*)(oBC291tmp_string)),'B'); r2append_in(_rcid,oBC291tmp_string); r7append(((T7*)(oBC291tmp_string)),((T0*)ms13_291)); r2append_in(_rcid,oBC291tmp_string); r7append(((T7*)(oBC291tmp_string)),((T0*)ms14_291)); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string); /*]*/ r7copy(((T7*)(oBC291tmp_string)),((T0*)ms105_470)); r2append_in(_rcid,oBC291tmp_string); r7extend(((T7*)(oBC291tmp_string)),'\52'); r7extend(((T7*)(oBC291tmp_string)),'\52'); r963gcmt_in(C,oBC291tmp_string); r324put_extern1(((T324*)(oBC364cpp)),oBC291tmp_string); r7copy(((T7*)(oBC291tmp_string)),((T0*)ms111_470)); r7extend(((T7*)(oBC291tmp_string)),'\40'); r963gcmt_used_in(C,oBC291tmp_string); r324put_extern2(((T324*)(oBC364cpp)),oBC291tmp_string,'0'); r7copy(((T7*)(oBC291tmp_string)),((T0*)ms111_470)); r7extend(((T7*)(oBC291tmp_string)),'\40'); r963gcmt_max_in(C,oBC291tmp_string); r324put_extern2(((T324*)(oBC364cpp)),oBC291tmp_string,'8'); r7copy(((T7*)(oBC291tmp_string)),((T0*)ms105_470)); r2append_in(_rcid,oBC291tmp_string); r7extend(((T7*)(oBC291tmp_string)),'\52'); r963gc_free_in(C,oBC291tmp_string); r324put_extern5(((T324*)(oBC364cpp)),oBC291tmp_string,((T0*)ms117_470)); /*IF*/if ((((T548*)((T548*)(oBC364gc_handler))))->_info_flag/*4*/) { r7copy(((T7*)(oBC291tmp_string)),((T0*)ms111_470)); r7extend(((T7*)(oBC291tmp_string)),'\40'); r963gc_info_nb_in(C,oBC291tmp_string); r324put_extern2(((T324*)(oBC364cpp)),oBC291tmp_string,'0'); } /*FI*/} /*No:TYPE_BIT_REF.fz_void*/ /*No:TYPE_BIT_REF.fz_dot*/ /*No:TYPE_BIT_REF.is_generic*/ /*No:TYPE_BIT_REF.used_as_reference*/ /*No:TYPE_BIT_REF.us_bit_n_ref*/ /*No:TYPE_BIT_REF.c_header_pass2*/ /*No:TYPE_BIT_REF.gc_define1*/ /*No:TYPE_BIT_REF.need_c_struct*/ /*No:TYPE_BIT_REF.type_bit*/ /*No:TYPE_BIT_REF.gc_info_in*/ /*No:TYPE_BIT_REF.is_reference*/ T0* r963base_class(T963* C){ T0* R=NULL; T0* _bcn=NULL; _bcn=r963base_class_name(); /*IF*/if ((_bcn)!=((void*)(NULL))) { R=r451base_class(((T451*)_bcn)); } else { /*[IRF3.6append*/{T0* b1=((T0*)ms3_291); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type((T0*)C,((T0*)ms67_470)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/return R; } /*No:TYPE_BIT_REF.call_gc_sweep_in*/ /*No:TYPE_BIT_REF.gc_define2*/ /*No:TYPE_BIT_REF.need_gc_mark_function*/ void r963standard_gc_define2(T963* C){ int _rcid=0; T0* _rc=NULL; _rc=r963run_class(C); _rcid=(((T355*)((T355*)_rc)))->_id/*4*/; r7copy(((T7*)(oBC291header)),((T0*)ms133_470)); r7extend(((T7*)(oBC291header)),'\40'); r7append(((T7*)(oBC291header)),((T0*)ms109_470)); r2append_in(_rcid,oBC291header); r7extend(((T7*)(oBC291header)),'\50'); r7append(((T7*)(oBC291header)),((T0*)ms105_470)); r2append_in(_rcid,oBC291header); r7extend(((T7*)(oBC291header)),'\52'); r7extend(((T7*)(oBC291header)),'b'); r7extend(((T7*)(oBC291header)),'\54'); r7append(((T7*)(oBC291header)),((T0*)ms105_470)); r2append_in(_rcid,oBC291header); r7extend(((T7*)(oBC291header)),'\52'); r7extend(((T7*)(oBC291header)),'h'); r7extend(((T7*)(oBC291header)),'\51'); r7copy(((T7*)(oBC291body)),((T0*)ms15_291)); /*[IRF3.6gc_if_marked_in*/{T0* b1=oBC291body; r7append(((T7*)b1),((T0*)ms64_291)); }/*]*/ /*[IRF3.6gc_set_unmarked_in*/{T0* b1=oBC291body; r7append(((T7*)b1),((T0*)ms63_291)); }/*]*/ r7extend(((T7*)(oBC291body)),'\175'); r7append(((T7*)(oBC291body)),((T0*)ms10_470)); r7extend(((T7*)(oBC291body)),'\n'); /*[IRF3.6gc_if_unmarked_in*/{T0* b1=oBC291body; r7append(((T7*)b1),((T0*)ms65_291)); }/*]*/ r7append(((T7*)(oBC291body)),((T0*)ms16_291)); r963gc_free_in(C,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms17_291)); r963gc_free_in(C,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms18_291)); /*IF*/{/*AT*/r7append(((T7*)(oBC291body)),((T0*)ms19_291)); r2append_in(_rcid,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms134_470)); } /*FI*/r7append(((T7*)(oBC291body)),((T0*)ms20_291)); r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body); r7copy(((T7*)(oBC291header)),((T0*)ms133_470)); r7extend(((T7*)(oBC291header)),'\40'); r7append(((T7*)(oBC291header)),((T0*)ms108_470)); r2append_in(_rcid,oBC291header); r7append(((T7*)(oBC291header)),((T0*)ms97_470)); r7copy(((T7*)(oBC291body)),((T0*)ms21_291)); r2append_in(_rcid,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms22_291)); r963gcmt_in(C,oBC291body); r7extend(((T7*)(oBC291body)),'\53'); r963gcmt_used_in(C,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms23_291)); r963gcmt_used_in(C,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms24_291)); r7append(((T7*)(oBC291body)),((T0*)ms25_291)); r2append_in(_rcid,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms26_291)); r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body); r7copy(((T7*)(oBC291header)),((T0*)ms133_470)); r7extend(((T7*)(oBC291header)),'\40'); r963gc_mark_in(C,oBC291header); r7extend(((T7*)(oBC291header)),'\50'); r7extend(((T7*)(oBC291header)),'T'); r2append_in(_rcid,oBC291header); r7extend(((T7*)(oBC291header)),'\52'); r7extend(((T7*)(oBC291header)),'o'); r7extend(((T7*)(oBC291header)),'\51'); /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291body)))))->_count)=(0); /*]*/ r963gc_declare_h_in(C,oBC291body); /*[IRF3.6gc_if_unmarked_in*/{T0* b1=oBC291body; r7append(((T7*)b1),((T0*)ms65_291)); }/*]*/ /*[IRF3.6gc_set_marked_in*/{T0* b1=oBC291body; r7append(((T7*)b1),((T0*)ms62_291)); }/*]*/ /*IF*/if (r355gc_mark_to_follow(((T355*)_rc))) { r355gc_mark_in(((T355*)_rc),oBC291body); } /*FI*/r7extend(((T7*)(oBC291body)),'\175'); r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body); r7copy(((T7*)(oBC291header)),((T0*)ms133_470)); r7extend(((T7*)(oBC291header)),'\40'); r963gc_align_mark_in(C,oBC291header); r7extend(((T7*)(oBC291header)),'\50'); r7extend(((T7*)(oBC291header)),'T'); r2append_in(_rcid,oBC291header); r7extend(((T7*)(oBC291header)),'\52'); r7extend(((T7*)(oBC291header)),'o'); r7extend(((T7*)(oBC291header)),'\54'); r7append(((T7*)(oBC291header)),((T0*)ms105_470)); r2append_in(_rcid,oBC291header); r7extend(((T7*)(oBC291header)),'\52'); r7extend(((T7*)(oBC291header)),'B'); r7extend(((T7*)(oBC291header)),'\51'); /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291body)))))->_count)=(0); /*]*/ r963gc_declare_h_in(C,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms27_291)); r963gc_mark_in(C,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms28_291)); r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body); r7copy(((T7*)(oBC291header)),((T0*)ms133_470)); r7extend(((T7*)(oBC291header)),'\40'); r7append(((T7*)(oBC291header)),((T0*)ms116_470)); r2append_in(_rcid,oBC291header); r7append(((T7*)(oBC291header)),((T0*)ms97_470)); r7copy(((T7*)(oBC291body)),((T0*)ms29_291)); r2append_in(_rcid,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms30_291)); r963gcmt_used_in(C,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms31_291)); /*IF*/if (r355is_tagged(((T355*)_rc))) { r7append(((T7*)(oBC291body)),((T0*)ms32_291)); r2append_in(_rcid,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms134_470)); } /*FI*/r7append(((T7*)(oBC291body)),((T0*)ms33_291)); r963gcmt_max_in(C,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms34_291)); r963gcmt_max_in(C,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms35_291)); r963gcmt_in(C,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms36_291)); r963gcmt_in(C,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms37_291)); r963gcmt_max_in(C,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms38_291)); r963gcmt_in(C,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms39_291)); r963gc_free_in(C,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms40_291)); r7append(((T7*)(oBC291body)),((T0*)ms41_291)); r963gc_align_mark_in(C,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms42_291)); r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body); /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291header)))))->_count)=(0); /*]*/ r7extend(((T7*)(oBC291header)),'T'); r2append_in(_rcid,oBC291header); r7extend(((T7*)(oBC291header)),'\52'); r7append(((T7*)(oBC291header)),((T0*)ms115_470)); r2append_in(_rcid,oBC291header); r7append(((T7*)(oBC291header)),((T0*)ms97_470)); r7copy(((T7*)(oBC291body)),((T0*)ms105_470)); r2append_in(_rcid,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms43_291)); /*IF*/if ((((T548*)((T548*)(oBC364gc_handler))))->_info_flag/*4*/) { r963gc_info_nb_in(C,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms44_291)); } /*FI*/r7append(((T7*)(oBC291body)),((T0*)ms45_291)); r963gc_free_in(C,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms46_291)); r2append_in(r548threshold_start(_rcid),oBC291body); r7extend(((T7*)(oBC291body)),'\74'); r963gcmt_used_in(C,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms47_291)); r7append(((T7*)(oBC291body)),((T0*)ms89_470)); r963gc_free_in(C,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms48_291)); r2append_in(_rcid,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms49_291)); r963gc_free_in(C,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms50_291)); r963gc_free_in(C,oBC291body); r7append(((T7*)(oBC291body)),((T0*)ms51_291)); /*[IRF3.6gc_set_unmarked_in*/{T0* b1=oBC291body; r7append(((T7*)b1),((T0*)ms63_291)); }/*]*/ r7append(((T7*)(oBC291body)),((T0*)ms52_291)); r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body); } /*No:TYPE_BIT_REF.is_any*/ void r963to_reference(T963* C){ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms130_470)); /*]*/ /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),r963id(C)); /*]*/ } /*No:TYPE_BIT_REF.c_header_pass3*/ /*No:TYPE_BIT_REF.fz_new_pool*/ int fBC963base_class_name=0; T0*oBC963base_class_name=NULL; T0* r963base_class_name(void){ if (fBC963base_class_name==0){ T0* R=NULL; fBC963base_class_name=1; {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,((T0*)ms5_473),NULL); R=(T0*)n; } oBC963base_class_name=R;} return oBC963base_class_name;} /*No:TYPE_BIT_REF.is_expanded*/ void r963standard_call_gc_sweep_in(T963* C,T0* a1){ r7append(((T7*)a1),((T0*)ms108_470)); r2append_in(r963id(C),a1); r7extend(((T7*)a1),'\50'); r7extend(((T7*)a1),'\51'); r7append(((T7*)a1),((T0*)ms134_470)); } /*No:TYPE_BIT_REF.gc_if_unmarked_in*/ /*No:TYPE_BIT_REF.is_basic_eiffel_expanded*/ /*No:TYPE_BIT_REF.is_none*/ /*No:TYPE_BIT_REF.to_expanded*/ /*No:TYPE_BIT_REF.is_integer*/ /*No:TYPE_BIT_REF.c_header_pass4*/ /*No:TYPE_BIT_REF.fz_struct*/ /*No:TYPE_BOOLEAN.id*/ int r707has_creation(T707* C,T0* a1){ int R=0; r683add_position(X776start_position(a1)); r707error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T707*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_84)); return R; } /*No:TYPE_BOOLEAN.is_anchored*/ /*No:TYPE_BOOLEAN.is_array*/ /*No:TYPE_BOOLEAN.fz_typedef*/ int r707is_a(T707* C,T0* a1){ int R=0; /*IF*/if (X291is_boolean(a1)) { R=1; } else { R=r605is_subclass_of(((T605*)(r707base_class(C))),X291base_class(a1)); /*IF*/if (R) { r707used_as_reference(); } /*FI*/} /*FI*//*IF*/if (!(R)) { r683add_type((T0*)C,((T0*)ms71_470)); r683add_type(a1,((T0*)ms67_470)); } /*FI*/return R; } /*No:TYPE_BOOLEAN.c_initialize_in*/ /*No:TYPE_BOOLEAN.c_type_for_argument_in*/ void r707gc_call_new_in(T0* a1){ r7append(((T7*)a1),((T0*)ms115_470)); r2append_in(6,a1); r7extend(((T7*)a1),'\50'); r7extend(((T7*)a1),'\51'); } /*No:TYPE_BOOLEAN.run_type*/ /*No:TYPE_BOOLEAN.is_pointer*/ /*No:TYPE_BOOLEAN.is_dummy_expanded*/ /*No:TYPE_BOOLEAN.is_string*/ int r707space_for_variable(void){ int R=0; R=sizeof(T6); return R; } /*No:TYPE_BOOLEAN.is_like_feature*/ /*No:TYPE_BOOLEAN.is_like_current*/ void r707make(T707* C,T0* a1){ {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,((T0*)ms6_473),a1); C->_base_class_name=(T0*)n; } } /*No:TYPE_BOOLEAN.nb_errors*/ /*No:TYPE_BOOLEAN.us_item*/ void r707load_ref(T0* a1){ T0* _rf=NULL; T0* _rc=NULL; T0* _cn=NULL; {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,a1,NULL); _cn=(T0*)n; } _rc=r605run_class(((T605*)(r451base_class(((T451*)_cn))))); r355set_at_run_time(((T355*)_rc)); _rf=r355get_feature_with(((T355*)_rc),((T0*)ms86_473)); } int fBC707check_type=0; void r707check_type(T707* C){ if (fBC707check_type==0){ T0* _rc=NULL; T0* _bc=NULL; fBC707check_type=1; _bc=r707base_class(C); /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _rc=r707run_class(C); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (!((((T605*)((T605*)_bc)))->_is_expanded/*20*/)) { r707error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T707*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_707)); } /*FI*/} /*FI*/}} /*No:TYPE_BOOLEAN.mapping_cast*/ /*No:TYPE_BOOLEAN.start_position*/ /*No:TYPE_BOOLEAN.c_type_for_target_in*/ /*No:TYPE_BOOLEAN.fz_gc_mark*/ /*No:TYPE_BOOLEAN.fz_inako*/ /*No:TYPE_BOOLEAN.gc_initialize*/ /*No:TYPE_BOOLEAN.fz_00*/ /*No:TYPE_BOOLEAN.is_character*/ /*No:TYPE_BOOLEAN.is_user_expanded*/ T0* r707written_mark(void){ T0* R=NULL; R=((T0*)ms6_473); return R; } /*No:TYPE_BOOLEAN.is_run_type*/ T0* r707to_runnable(T707* C,T0* a1){ T0* R=NULL; R=(T0*)C; r707check_type(C); return R; } void r707c_type_for_external_in(T0* a1){ /*IF*//*AF*//*AE*/ /*[IRF3.6c_type_for_result_in*/{T0* b1=a1; /*[IRF3.6c_type_for_argument_in*/{T0* c1=b1; r7append(((T7*)c1),((T0*)ms111_470)); }/*]*/ }/*]*/ /*FI*/} T0* r707generic_list(T707* C){ T0* R=NULL; r707fatal_error_generic_list(C); return R; } /*No:TYPE_BOOLEAN.is_formal_generic*/ void r707demangling_in(T0* a1){ /*IF*//*AF*//*AE*/ r7extend(((T7*)a1),'E'); /*FI*/r7extend(((T7*)a1),'\40'); r7append(((T7*)a1),r707run_time_mark()); } /*No:TYPE_BOOLEAN.is_real*/ /*No:TYPE_BOOLEAN.is_bit*/ void r707fatal_error_generic_list(T707* C){ r683add_type((T0*)C,((T0*)ms12_291)); r683print_as_fatal_error(((T683*)(oBC364eh))); } int fBC364type_boolean_ref=0; T0*oBC364type_boolean_ref=NULL; T0* r707type_boolean_ref(void){ if (fBC364type_boolean_ref==0){ T0* R=NULL; T0* _boolean_ref=NULL; fBC364type_boolean_ref=1; {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,((T0*)ms7_473),NULL); _boolean_ref=(T0*)n; } {T657*n=malloc(sizeof(*n)); *n=M657; /*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=(_boolean_ref); /*]*/ R=(T0*)n; } oBC364type_boolean_ref=R;} return oBC364type_boolean_ref;} /*No:TYPE_BOOLEAN.fz_new*/ T0* r707smallest_ancestor(T707* C,T0* a1){ T0* R=NULL; T0* _rto=NULL; _rto=X291run_type(a1); /*IF*/if (X291is_boolean(_rto)) { R=(T0*)C; } else { R=r657smallest_ancestor(((T657*)(r707type_boolean_ref())),_rto); } /*FI*/return R; } /*No:TYPE_BOOLEAN.is_boolean*/ /*No:TYPE_BOOLEAN.is_double*/ T0* r707run_class(T707* C){ T0* R=NULL; R=r604run_class((T0*)C); return R; } T0* r707run_time_mark(void){ T0* R=NULL; R=((T0*)ms6_473); return R; } /*No:TYPE_BOOLEAN.c_initialize*/ /*No:TYPE_BOOLEAN.cast_to_ref*/ void r707gc_mark_in(T0* a1){ r7append(((T7*)a1),((T0*)ms107_470)); r2append_in(6,a1); } int r707is_a_in(T707* C,T0* a1,T0* a2){ int R=0; T0* _ct=NULL; T0* _t2=NULL; T0* _t1=NULL; /*IF*/if ((r707written_mark())==((void*)(X291written_mark(a1)))) { R=1; } else { _ct=(((T355*)((T355*)a2)))->_current_type/*0*/; _t1=r707to_runnable(C,_ct); _t2=X291to_runnable(a1,_ct); /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) { R=1; } else { R=X291is_a(_t1,_t2); } /*FI*/} /*FI*/return R; } T0* r707look_up_for(T707* C,T0* a1,T0* a2){ T0* R=NULL; R=r605look_up_for(((T605*)(r707base_class(C))),a1,a2); return R; } /*No:TYPE_BOOLEAN.c_header_pass1*/ /*No:TYPE_BOOLEAN.c_type_for_result_in*/ /*No:TYPE_BOOLEAN.us_boolean*/ /*No:TYPE_BOOLEAN.expanded_initializer*/ /*No:TYPE_BOOLEAN.fz_int*/ /*No:TYPE_BOOLEAN.fz_void*/ /*No:TYPE_BOOLEAN.fz_dot*/ /*No:TYPE_BOOLEAN.is_generic*/ int fBC707used_as_reference=0; void r707used_as_reference(void){ if (fBC707used_as_reference==0){ fBC707used_as_reference=1; r707load_ref(((T0*)ms7_473)); }} /*No:TYPE_BOOLEAN.c_header_pass2*/ /*No:TYPE_BOOLEAN.gc_define1*/ /*No:TYPE_BOOLEAN.need_c_struct*/ /*No:TYPE_BOOLEAN.is_reference*/ /*No:TYPE_BOOLEAN.gc_info_in*/ void r707error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } T0* r707base_class(T707* C){ T0* R=NULL; T0* _bcn=NULL; _bcn=(((T707*)C))->_base_class_name/*4*/; /*IF*/if ((_bcn)!=((void*)(NULL))) { R=r451base_class(((T451*)_bcn)); } else { /*[IRF3.6append*/{T0* b1=((T0*)ms3_291); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type((T0*)C,((T0*)ms67_470)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/return R; } /*No:TYPE_BOOLEAN.call_gc_sweep_in*/ /*No:TYPE_BOOLEAN.gc_define2*/ /*No:TYPE_BOOLEAN.need_gc_mark_function*/ /*No:TYPE_BOOLEAN.is_any*/ /*No:TYPE_BOOLEAN.to_reference*/ /*No:TYPE_BOOLEAN.c_header_pass3*/ /*No:TYPE_BOOLEAN.us_boolean_ref*/ /*No:TYPE_BOOLEAN.base_class_name*/ /*No:TYPE_BOOLEAN.is_expanded*/ /*No:TYPE_BOOLEAN.is_basic_eiffel_expanded*/ /*No:TYPE_BOOLEAN.is_none*/ /*No:TYPE_BOOLEAN.to_expanded*/ /*No:TYPE_BOOLEAN.is_integer*/ /*No:TYPE_BOOLEAN.c_header_pass4*/ /*No:COUNTER.value*/ void r417increment(T417* C){ C->_value=((((T417*)C))->_value/*0*/)+(1); } /*No:IFTHENLIST.static_false*/ /*No:IFTHENLIST.make*/ /*No:IFTHENLIST.nb_errors*/ /*No:IFTHENLIST.static_true*/ int r712compile_to_c(T712* C){ int R=0; int _i=0; int _previous=0; int _state=0; _i=1; while (!((_state)==(2))) { {int z1=_state; if((0==z1)){ /*IF*/if ((_i)>((((T948*)((T948*)((((T712*)C))->_list/*0*/))))->_upper/*8*/)) { _state=2; R=_previous; } else { _previous=r809compile_to_c(((T809*)(r948item(((T948*)((((T712*)C))->_list/*0*/)),_i))),0); {int z2=_previous; if((1018==z2)){ _state=1; } else if((1017==z2)){ } else {R=1016; _state=2; }} } /*FI*/} else{/*IF*/if ((_i)>((((T948*)((T948*)((((T712*)C))->_list/*0*/))))->_upper/*8*/)) { _state=2; {int z2=_previous; if((1016==z2)){ R=1016; } else{R=1018; }} } else { _previous=r809compile_to_c(((T809*)(r948item(((T948*)((((T712*)C))->_list/*0*/)),_i))),1); {int z2=_previous; if((1018==z2)){ } else if((1017==z2)){ } else {_state=2; R=1016; }} } /*FI*/}} _i=(_i)+(1); } return R; } T0* r712to_runnable(T712* C,T0* a1){ T0* R=NULL; int _i=0; /*IF*/if (((((T712*)C))->_run_compound/*4*/)!=((void*)(NULL))) { {T712*n=malloc(sizeof(*n)); *n=M712; /*[IRF3.3make*/((((T712*)(n)))->_list)=(r948twin(((T948*)((((T712*)C))->_list/*0*/)))); /*]*/ R=(T0*)n; } R=r712to_runnable(((T712*)R),a1); } else { C->_run_compound=a1; _i=1; while (!(((_i)>((((T948*)((T948*)((((T712*)C))->_list/*0*/))))->_upper/*8*/))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) { /*[IRF3.6put*/{T948* C1=((T948*)((((T712*)C))->_list/*0*/)); T0* b1=r809to_runnable(((T809*)(r948item(((T948*)((((T712*)C))->_list/*0*/)),_i))),a1); int b2=_i; ((((T948*)C1))->_storage/*0*/)[(b2)-((((T948*)C1))->_lower/*12*/)]=(b1); }/*]*/ _i=(_i)+(1); } R=(T0*)C; } /*FI*/return R; } /*No:IFTHENLIST.list*/ /*No:IFTHENLIST.run_compound*/ /*No:IFTHENLIST.non_static*/ int r712use_current(T712* C){ int R=0; int _i=0; _i=1; while (!(((_i)>((((T948*)((T948*)((((T712*)C))->_list/*0*/))))->_upper/*8*/))||(R))) { R=r809use_current(((T809*)(r948item(((T948*)((((T712*)C))->_list/*0*/)),_i)))); _i=(_i)+(1); } return R; } /*No:IFTHENLIST.add_last*/ void r712afd_check(T712* C){ int _i=0; _i=(((T948*)((T948*)((((T712*)C))->_list/*0*/))))->_upper/*8*/; while (!((_i)==(0))) { r809afd_check(((T809*)(r948item(((T948*)((((T712*)C))->_list/*0*/)),_i)))); _i=(_i)-(1); } } /*No:CALL_INFIX_XOR.arguments*/ T0* r760add_comment(T760* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } else { {T529*n=malloc(sizeof(*n)); *n=M529; r529make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } int r760to_integer(T760* C){ int R=0; r760error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T760*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470)); return R; } int r760is_a(T760* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T760*)C))->_result_type/*20*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T760*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/); r760error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:CALL_INFIX_XOR.is_current*/ void r760mapping_c_arg(T760* C,T0* a1){ T0* _actual_type=NULL; _actual_type=X291run_type((((T760*)C))->_result_type/*20*/); /*IF*/if (X291is_reference(_actual_type)) { /*IF*/if (X291is_reference(a1)) { /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T760* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ } else { X291to_expanded(_actual_type); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T760* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} else { /*IF*/if (X291is_reference(a1)) { X291to_reference(_actual_type); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T760* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } else { /*IF*/if (X291need_c_struct(a1)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\46'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T760* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } else { /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T760* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ } /*FI*/} /*FI*/} /*FI*/} /*No:CALL_INFIX_XOR.static_value*/ void r760make(T760* C,T0* a1,T0* a2,T0* a3){ T0* _eal=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) { r683add_position(a2); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/{T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,r760operator(),a2); C->_feature_name=(T0*)n; } {T431*n=malloc(sizeof(*n)); *n=M431; /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3)); /*]*/ _eal=(T0*)n; } r760make_call_1(C,a1,(((T760*)C))->_feature_name/*28*/,_eal); } void r760mapping_c_target(T760* C,T0* a1){ T0* _actual_type=NULL; int _flag=0; _flag=r324call_invariant_start(a1); _actual_type=X291run_type((((T760*)C))->_result_type/*20*/); /*IF*/if (X291is_reference(_actual_type)) { /*IF*/if (X291is_reference(a1)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='T'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291id(a1)); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\52'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T760* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } else { X291to_expanded(_actual_type); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T760* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} else { /*IF*/if (X291is_reference(a1)) { X291to_reference(_actual_type); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T760* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } else { /*IF*/if (X291need_c_struct(a1)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\46'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T760* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } else { /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T760* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ } /*FI*/} /*FI*/} /*FI*//*IF*/if (_flag) { /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} /*No:CALL_INFIX_XOR.nb_errors*/ /*No:CALL_INFIX_XOR.feature_name*/ /*No:CALL_INFIX_XOR.fz_iinaiv*/ /*No:CALL_INFIX_XOR.arg_count*/ /*No:CALL_INFIX_XOR.dca_inline_argument*/ /*No:CALL_INFIX_XOR.run_feature*/ /*No:CALL_INFIX_XOR.call_proc_call_c2c*/ /*No:CALL_INFIX_XOR.start_position*/ /*No:CALL_INFIX_XOR.target*/ /*No:CALL_INFIX_XOR.compile_to_c*/ /*No:CALL_INFIX_XOR.c_simple*/ T0* r760to_runnable(T760* C,T0* a1){ T0* R=NULL; T0* _tla=NULL; T0* _a=NULL; /*IF*/if (((((T760*)C))->_current_type/*8*/)==((void*)(NULL))) { r760to_runnable_0(C,a1); _a=X431to_runnable((((T760*)C))->_arguments/*24*/,a1); /*IF*/if ((_a)==((void*)(NULL))) { r760error(X662start_position(r760arg1(C)),((T0*)ms55_470)); } else { C->_arguments=_a; } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { X431match_with((((T760*)C))->_arguments/*24*/,(((T760*)C))->_run_feature/*16*/); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _tla=(((T760*)C))->_result_type/*20*/; if(NULL!=(_tla))switch(((T0*)_tla)->id) { case 239: break; default: _tla=NULL; };/*IF*/if ((_tla)!=((void*)(NULL))) { C->_result_type=X291run_type(X662result_type(r760arg1(C))); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { R=r760twin(C); /*[IRF3.3set_current_type*/((((T760*)(((T760*)R))))->_current_type)=(NULL); /*]*/ R=r760to_runnable(((T760*)R),a1); } /*FI*/return R; } /*No:CALL_INFIX_XOR.result_type*/ /*No:CALL_INFIX_XOR.is_result*/ T0* r760twin(T760* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T760*)R)=*C; return R; } /*No:CALL_INFIX_XOR.set_current_type*/ T0* r760operator(void){ T0* R=NULL; R=((T0*)ms50_473); return R; } int r760is_static(T760* C){ int R=0; /*IF*/if (X291is_boolean(X662result_type((((T760*)C))->_target/*12*/))) { /*IF*/if ((X662is_static((((T760*)C))->_target/*12*/))&&(X662is_static(r760arg1(C)))) { R=1; C->_static_value_mem=(X662static_value((((T760*)C))->_target/*12*/))+(X662static_value(r760arg1(C))); /*IF*/if (((((T760*)C))->_static_value_mem/*4*/)==(1)) { C->_static_value_mem=1; } else { C->_static_value_mem=0; } /*FI*/} /*FI*/} /*FI*/return R; } /*No:CALL_INFIX_XOR.fz_07*/ /*No:CALL_INFIX_XOR.can_be_dropped*/ /*No:CALL_INFIX_XOR.current_type*/ void r760compile_to_c_old(T760* C){ X662compile_to_c_old((((T760*)C))->_target/*12*/); /*IF*/{/*AT*/X431compile_to_c_old((((T760*)C))->_arguments/*24*/); } /*FI*/} /*No:CALL_INFIX_XOR.static_value_mem*/ void r760make_call_1(T760* C,T0* a1,T0* a2,T0* a3){ C->_target=a1; C->_feature_name=a2; C->_arguments=a3; } /*No:CALL_INFIX_XOR.is_manifest_string*/ /*No:CALL_INFIX_XOR.is_void*/ /*No:CALL_INFIX_XOR.us_xor*/ void r760to_runnable_0(T760* C,T0* a1){ C->_current_type=a1; r760cpc_to_runnable(C,a1); C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T760*)C))->_run_feature/*16*/))))->_result_type/*24*/); /*IF*/if (((((T760*)C))->_result_type/*20*/)==((void*)(NULL))) { r683add_position(X496start_position((((T760*)C))->_run_feature/*16*/)); r760error((((T454*)((T454*)((((T760*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295)); } else if (X291is_like_current((((T760*)C))->_result_type/*20*/)) { C->_result_type=X662result_type((((T760*)C))->_target/*12*/); } /*FI*/} /*No:CALL_INFIX_XOR.is_pre_computable*/ void r760cpc_to_runnable(T760* C,T0* a1){ T0* _rc=NULL; T0* _t=NULL; _t=X662to_runnable((((T760*)C))->_target/*12*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r683add_position(X662start_position((((T760*)C))->_target/*12*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/C->_target=_t; _rc=X291run_class(X662result_type((((T760*)C))->_target/*12*/)); C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C); r576update((((T760*)C))->_target/*12*/,(((T760*)C))->_run_feature/*16*/); } int r760use_current(T760* C){ int R=0; /*IF*/{/*AT*/R=X431use_current((((T760*)C))->_arguments/*24*/); } /*FI*//*IF*/if (R) { } else if (X662is_current((((T760*)C))->_target/*12*/)) { R=X496use_current((((T760*)C))->_run_feature/*16*/); } else { R=X662use_current((((T760*)C))->_target/*12*/); } /*FI*/return R; } void r760finalize(T760* C){ T0* _rf=NULL; T0* _rc=NULL; _rf=(((T760*)C))->_run_feature/*16*/; _rc=X291run_class(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_current_type/*4*/)); /*IF*/if (!((((T355*)((T355*)_rc)))->_at_run_time/*8*/)) { _rf=r355dynamic(((T355*)(r396first(((T396*)((((T355*)((T355*)_rc)))->_running/*12*/))))),_rf); C->_run_feature=_rf; } /*FI*/} void r760error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CALL_INFIX_XOR.isa_dca_inline_argument*/ /*No:CALL_INFIX_XOR.fatal_error*/ /*No:CALL_INFIX_XOR.fz_bad_argument*/ T0* r760arg1(T760* C){ T0* R=NULL; R=X431first((((T760*)C))->_arguments/*24*/); return R; } void r760afd_check(T760* C){ T0* _running=NULL; T0* _rc=NULL; _rc=X291run_class(X662result_type((((T760*)C))->_target/*12*/)); _running=(((T355*)((T355*)_rc)))->_running/*12*/; /*IF*/if ((_running)==((void*)(NULL))) { r683add_position(X662start_position((((T760*)C))->_target/*12*/)); /*[IRF3.6append*/{T0* b1=((T0*)ms1_135); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms141_470); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683print_as_warning(((T683*)(oBC364eh))); r355set_at_run_time(((T355*)_rc)); } else if ((r396count(((T396*)_running)))>(0)) { r576update((((T760*)C))->_target/*12*/,(((T760*)C))->_run_feature/*16*/); } /*FI*/X662afd_check((((T760*)C))->_target/*12*/); /*IF*/{/*AT*/X431afd_check((((T760*)C))->_arguments/*24*/); } /*FI*/} T0* r716add_comment(T716* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } else { {T529*n=malloc(sizeof(*n)); *n=M529; r529make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } int r716to_integer(T716* C){ int R=0; r716error((((T716*)C))->_start_position/*20*/,((T0*)ms69_470)); return R; } int r716is_a(T716* C,T0* a1){ int R=0; R=X291is_a(X291run_type(/*(IRF4.3result_type*/(((T716*)C))->_current_type/*8*//*)*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position((((T716*)C))->_start_position/*20*/); r716error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:CECIL_TARGET.is_current*/ void r716mapping_c_arg(T716* C,T0* a1){ T0* _rt=NULL; _rt=X291run_type(/*(IRF4.3result_type*/(((T716*)C))->_current_type/*8*//*)*/); /*IF*/if (X291is_reference(_rt)) { /*IF*/if (X291is_reference(a1)) { /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms85_470)); /*]*/ r324print_current(((T324*)(oBC364cpp))); } else { X291to_expanded(_rt); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r324print_current(((T324*)(oBC364cpp))); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} else { /*IF*/if (X291is_reference(a1)) { X291to_reference(_rt); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r324print_current(((T324*)(oBC364cpp))); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } else { r324print_current(((T324*)(oBC364cpp))); } /*FI*/} /*FI*/} /*No:CECIL_TARGET.static_value*/ /*No:CECIL_TARGET.is_written*/ void r716make(T716* C,T0* a1){ r716super_make(C,X496start_position(a1),0); C->_current_type=/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/); } void r716mapping_c_target(T716* C,T0* a1){ int _flag=0; /*IF*/if ((((T716*)C))->_is_written/*16*/) { _flag=r324call_invariant_start(a1); } /*FI*/r324print_current(((T324*)(oBC364cpp))); /*IF*/if (_flag) { /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} /*No:CECIL_TARGET.us_current*/ /*No:CECIL_TARGET.to_string*/ /*No:CECIL_TARGET.fz_iinaiv*/ /*No:CECIL_TARGET.dca_inline_argument*/ /*No:CECIL_TARGET.start_position*/ void r716compile_to_c(T716* C){ /*IF*/if (X291is_user_expanded(/*(IRF4.3result_type*/(((T716*)C))->_current_type/*8*//*)*/)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\52'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/r324print_current(((T324*)(oBC364cpp))); } /*No:CECIL_TARGET.c_simple*/ T0* r716to_runnable(T716* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T716*)C))->_current_type/*8*/)==((void*)(NULL))) { C->_current_type=a1; R=(T0*)C; } else if (((((T716*)C))->_current_type/*8*/)==((void*)(a1))) { R=(T0*)C; } else { {T716*n=malloc(sizeof(*n)); *n=M716; r716super_make(n,(((T716*)C))->_start_position/*20*/,(((T716*)C))->_is_written/*16*/); R=(T0*)n; } /*[IRF3.3set_current_type*/((((T716*)(((T716*)R))))->_current_type)=(a1); /*]*/ } /*FI*/return R; } /*No:CECIL_TARGET.result_type*/ /*No:CECIL_TARGET.is_result*/ /*No:CECIL_TARGET.set_current_type*/ /*No:CECIL_TARGET.is_static*/ /*No:CECIL_TARGET.can_be_dropped*/ /*No:CECIL_TARGET.current_type*/ /*No:CECIL_TARGET.compile_to_c_old*/ /*No:CECIL_TARGET.static_value_mem*/ void r716super_make(T716* C,T0* a1,int a2){ C->_start_position=a1; C->_is_written=a2; C->_to_string=((T0*)ms143_473); } /*No:CECIL_TARGET.is_manifest_string*/ /*No:CECIL_TARGET.is_void*/ /*No:CECIL_TARGET.is_pre_computable*/ /*No:CECIL_TARGET.fz_cast_t0_star*/ /*No:CECIL_TARGET.use_current*/ void r716error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CECIL_TARGET.isa_dca_inline_argument*/ /*No:CECIL_TARGET.afd_check*/ int r669id(T669* C){ int R=0; R=(((T605*)((T605*)(r669base_class(C)))))->_id/*0*/; return R; } /*No:TYPE_ANY.gc_set_unmarked_in*/ int r669has_creation(T669* C,T0* a1){ int R=0; r683add_position(X776start_position(a1)); r669error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T669*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_669)); return R; } /*No:TYPE_ANY.is_anchored*/ /*No:TYPE_ANY.is_array*/ /*No:TYPE_ANY.fz_typedef*/ /*No:TYPE_ANY.fz_else*/ int r669is_a(T669* C,T0* a1){ int R=0; /*IF*/if (X291is_any(a1)) { R=1; } else { R=r605is_subclass_of(((T605*)(r669base_class(C))),X291base_class(a1)); } /*FI*//*IF*/if (!(R)) { r683add_type((T0*)C,((T0*)ms71_470)); r683add_type(a1,((T0*)ms67_470)); } /*FI*/return R; } void r669gcmt_max_in(T669* C,T0* a1){ r7append(((T7*)a1),((T0*)ms55_291)); r2append_in(r669id(C),a1); } /*No:TYPE_ANY.c_initialize_in*/ /*No:TYPE_ANY.fz_gc_sweep*/ /*No:TYPE_ANY.c_type_for_argument_in*/ void r669gc_call_new_in(T669* C,T0* a1){ r7append(((T7*)a1),((T0*)ms115_470)); r2append_in(r669id(C),a1); r7extend(((T7*)a1),'\50'); r7extend(((T7*)a1),'\51'); } /*No:TYPE_ANY.fz_se_cmpt*/ int r669space_for_pointer(void){ int R=0; void* _p=0; R=sizeof(T8); return R; } /*No:TYPE_ANY.run_type*/ /*No:TYPE_ANY.is_pointer*/ void r669gc_align_mark_in(T669* C,T0* a1){ r7append(((T7*)a1),((T0*)ms58_291)); r2append_in(r669id(C),a1); } /*No:TYPE_ANY.is_dummy_expanded*/ void r669gcmt_used_in(T669* C,T0* a1){ r7append(((T7*)a1),((T0*)ms56_291)); r2append_in(r669id(C),a1); } /*No:TYPE_ANY.is_string*/ /*No:TYPE_ANY.space_for_variable*/ void r669standard_c_struct(T669* C){ T0* _t=NULL; T0* _a=NULL; int _mem_id=0; int _i=0; T0* _wa=NULL; _mem_id=r669id(C); _wa=r355writable_attributes(((T355*)(r669run_class(C)))); r7copy(((T7*)(oBC291tmp_string)),((T0*)ms125_470)); r7extend(((T7*)(oBC291tmp_string)),'S'); r2append_in(_mem_id,oBC291tmp_string); r7extend(((T7*)(oBC291tmp_string)),'\173'); /*IF*/{/*AT*//*IF*/if (r355is_tagged(((T355*)(r669run_class(C))))) { r7append(((T7*)(oBC291tmp_string)),((T0*)ms4_291)); } /*FI*/} /*FI*//*IF*/if ((_wa)!=((void*)(NULL))) { _i=(((T280*)((T280*)_wa)))->_upper/*12*/; while (!((_i)==(0))) { _a=r280item(((T280*)_wa),_i); _t=X291run_type((((T820*)((T820*)_a)))->_result_type/*24*/); X291c_type_for_result_in(_t,oBC291tmp_string); r7extend(((T7*)(oBC291tmp_string)),'\40'); r7extend(((T7*)(oBC291tmp_string)),'\137'); r7append(((T7*)(oBC291tmp_string)),X776to_string((((T820*)((T820*)_a)))->_name/*16*/)); r7extend(((T7*)(oBC291tmp_string)),'\73'); _i=(_i)-(1); } } /*FI*/r7extend(((T7*)(oBC291tmp_string)),'\175'); r7append(((T7*)(oBC291tmp_string)),((T0*)ms134_470)); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string); /*]*/ /*IF*//*AF*//*AE*/ /*FI*/} /*No:TYPE_ANY.is_like_feature*/ /*No:TYPE_ANY.fz_t0_star*/ /*No:TYPE_ANY.is_like_current*/ void r669make(T669* C,T0* a1){ {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,((T0*)ms1_473),a1); C->_base_class_name=(T0*)n; } } /*No:TYPE_ANY.nb_errors*/ /*No:TYPE_ANY.fz_gc*/ /*No:TYPE_ANY.gc_if_marked_in*/ /*No:TYPE_ANY.fz_gc_sweep_pool*/ int fBC669check_type=0; void r669check_type(T669* C){ if (fBC669check_type==0){ T0* _rc=NULL; T0* _bc=NULL; fBC669check_type=1; _bc=r669base_class(C); /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _rc=r669run_class(C); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if ((((T605*)((T605*)_bc)))->_is_expanded/*20*/) { r669error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T669*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms2_669)); } /*FI*/} /*FI*/}} void r669mapping_cast(T669* C){ /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0); /*]*/ r7extend(((T7*)(oBC291tmp_string)),'\50'); r669c_type_for_target_in(C,oBC291tmp_string); r7extend(((T7*)(oBC291tmp_string)),'\51'); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string); /*]*/ } /*No:TYPE_ANY.start_position*/ void r669c_type_for_target_in(T669* C,T0* a1){ r7extend(((T7*)a1),'T'); r2append_in(r669id(C),a1); r7extend(((T7*)a1),'\52'); } /*No:TYPE_ANY.fz_printf*/ void r669gc_free_in(T669* C,T0* a1){ r7append(((T7*)a1),((T0*)ms57_291)); r2append_in(r669id(C),a1); } /*No:TYPE_ANY.gc_set_marked_in*/ /*No:TYPE_ANY.fz_gc_mark*/ /*No:TYPE_ANY.fz_inako*/ void r669standard_gc_initialize(T669* C){ /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0); /*]*/ r669gcmt_in(C,oBC291tmp_string); r7append(((T7*)(oBC291tmp_string)),((T0*)ms53_291)); r669gcmt_max_in(C,oBC291tmp_string); r7append(((T7*)(oBC291tmp_string)),((T0*)ms150_470)); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string); /*]*/ } /*No:TYPE_ANY.gc_initialize*/ /*No:TYPE_ANY.fz_00*/ /*No:TYPE_ANY.is_character*/ /*No:TYPE_ANY.is_user_expanded*/ T0* r669written_mark(void){ T0* R=NULL; R=((T0*)ms1_473); return R; } /*No:TYPE_ANY.is_run_type*/ T0* r669to_runnable(T669* C,T0* a1){ T0* R=NULL; R=(T0*)C; r669check_type(C); return R; } /*No:TYPE_ANY.fz_c_if_eq_null*/ /*No:TYPE_ANY.fz_10*/ void r669c_type_for_external_in(T0* a1){ /*IF*/{/*AT*/r7append(((T7*)a1),((T0*)ms133_470)); r7extend(((T7*)a1),'\52'); } /*FI*/} T0* r669generic_list(T669* C){ T0* R=NULL; r669fatal_error_generic_list(C); return R; } /*No:TYPE_ANY.is_formal_generic*/ /*No:TYPE_ANY.fz_null*/ void r669demangling_in(T0* a1){ /*IF*/{/*AT*/r7extend(((T7*)a1),'R'); } /*FI*/r7extend(((T7*)a1),'\40'); r7append(((T7*)a1),r669run_time_mark()); } /*No:TYPE_ANY.is_real*/